{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Basic Data Structure Representing Meshes\n",
    "\n",
    "\n",
    "## Data structure: node and elem\n",
    "\n",
    "Two matrices `node(1:N,1:d)` and `elem(1:NT,1:d+1)` are used to represent a d-dimensional triangulation embedded in $\\mathbb R^d$, where `N` is the number of vertices and `NT` is the number of elements. \n",
    " \n",
    "`node(k,1)` and `node(k,2)` are the x- and y-coordinates of the k-th node for points in 2-D. In 3-D, `node(k,3)` gives the additional z-coordinates of the k-th node. \n",
    "\n",
    "`elem(t,1:3)` are indices of 3 vertices of triangle `t`. `elem(t,1:4)` are indices of 4 vertices of tetrahedron `t`. By convention, the vertices are ordered such that the signed area/volume is positive. Therefore in 2-D, three vertices of a triangle is ordered counterclockwise and in 3-D, the ordering of four vertices of a tetrahedron follows the right-hand rule.\n",
    "\n",
    "If the vertices are not positive ordering, call `elem = fixorder(node,elem)` to set all triangles counter-clockwise or `elem = fixorder3(node,elem)` to fix the orientation of tetrahedra. \n",
    "\n",
    "For the following cases, a different ordering is used for other consideration.\n",
    "- Edge and face elements; see [Simplicial Complex in Three Dimensions](sc3doc.html)\n",
    "- [Uniform refinement in 3-D](uniformrefine3doc.html) "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Example: L-shape domain in 2-D"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nCBIAAPDC/wPPCmSxs2s7fgAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "node = [1,0; 1,1; 0,1; -1,1; -1,0; -1,-1; 0,-1; 0,0];  % coordinates\n",
    "elem = [1,2,8; 3,8,2; 8,3,5; 4,5,3; 7,8,6; 5,6,8];     % connectivity\n",
    "showmesh(node,elem); \n",
    "axis on;\n",
    "findelem(node,elem);  % plot indices of all triangles\n",
    "findnode(node);       % plot indices of all vertices"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "Apply the uniform refinement sevreal times to obtain a fine mesh."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nRU5ErkJggg==\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "for i = 1:3\n",
    "    [node,elem] = uniformrefine(node,elem);\n",
    "end\n",
    "showmesh(node,elem);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Example: A Cube in 3-D"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nQgAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "node = [-1,-1,-1; 1,-1,-1; 1,1,-1; -1,1,-1; -1,-1,1; 1,-1,1; 1,1,1; -1,1,1]; \n",
    "elem = [1,2,3,7; 1,6,2,7; 1,5,6,7; 1,8,5,7; 1,4,8,7; 1,3,4,7];\n",
    "clf; showmesh3(node,elem,[],'FaceAlpha',0.25);\n",
    "view([-53,8]);\n",
    "axis on\n",
    "findelem3(node,elem);\n",
    "findnode3(node);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Unlike 2-D case, to apply uniform refinement to obtain a fine mesh with good mesh quality, a different ordering of the inital mesh, which may violate the positive ordering, should be used. See [3 D Red Refinement](uniformrefine3doc.html)."
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Matlab",
   "language": "matlab",
   "name": "matlab"
  },
  "language_info": {
   "codemirror_mode": "octave",
   "file_extension": ".m",
   "help_links": [
    {
     "text": "MetaKernel Magics",
     "url": "https://github.com/calysto/metakernel/blob/master/metakernel/magics/README.md"
    }
   ],
   "mimetype": "text/x-matlab",
   "name": "matlab",
   "version": "0.14.3"
  },
  "toc": {
   "colors": {
    "hover_highlight": "#DAA520",
    "navigate_num": "#000000",
    "navigate_text": "#333333",
    "running_highlight": "#FF0000",
    "selected_highlight": "#FFD700",
    "sidebar_border": "#EEEEEE",
    "wrapper_background": "#FFFFFF"
   },
   "moveMenuLeft": true,
   "nav_menu": {
    "height": "102px",
    "width": "252px"
   },
   "navigate_menu": true,
   "number_sections": false,
   "sideBar": true,
   "threshold": 4,
   "toc_cell": false,
   "toc_position": {
    "height": "548px",
    "left": "0px",
    "right": "auto",
    "top": "121px",
    "width": "212px"
   },
   "toc_section_display": "block",
   "toc_window_display": true,
   "widenNotebook": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
